/*
@功能：购物车页面js
@作者：diamondwang
@时间：2013年11月14日
*/

$(function(){

	// 点击减少数量
	var num = 0;//数量
	var gid = 0;//id
	var attrList = '';//属性列表
	var flag = true;
	
	$('.reduce_num').click(function() {
		
		// 获取数量
		num = $(this).next('input').val();

		// 减少数量
		num--;

		// 如果数量减少后小于1
		if( num <1 ) {

			alert('至少购买1件商品');
			return false;
		}

		

		// 获取信息
		gid = $(this).parents('tr').attr('goods_id');
		attrList = $(this).parents('tr').attr('goods_attr_id');

		// 防止重复发送请求
		if(flag) {

			flag = false;

			// 异步修改购物车数量
			changeCart(gid, attrList, num, this, function( that ) {

				// 改变input的数量值
				$(that).next('input').val(num);

				// 计算小计价格
				var oSpan = $(that).parent('td').next('td').find('span');
				var onePrice =$(that).parent('td').prev('td').find('span').text();// 单价
				var price = (oSpan.text()*100-onePrice*100)+'';// 小计价
				price = price.slice(0,-2)+'.'+price.slice(-2);// 保留两位小数
				oSpan.text( price );

				// 计算购物金额总计
				var totalPrice = $('#total').text()*100-onePrice*100+'';// 计算购物金额总计
				totalPrice = totalPrice.slice(0,-2)+'.'+totalPrice.slice(-2);// 保留两位小数
				$('#total').text(totalPrice);

				// 完成了此次ajax才允许下一次
				flag = true;

			});

		}

	});

	// 点击添加数量
	$('.add_num').click(function() {
		
		// 获取数量
		num = $(this).prev('input').val();

		// 减少数量
		num++;

		// 异步修改购物车数量
		gid = $(this).parents('tr').attr('goods_id');
		attrList = $(this).parents('tr').attr('goods_attr_id');

		// 防止重复发送请求
		if(flag) {

			flag = false;
			changeCart(gid, attrList, num, this , function(that) {

				// 改变input的数量值
				$(that).prev('input').val(num);

				// 计算小计价格
				var oSpan = $(that).parent('td').next('td').find('span');
				var onePrice =$(that).parent('td').prev('td').find('span').text();// 单价
				var price = (oSpan.text()*100+onePrice*100)+'';// 小计价
				price = price.slice(0,-2)+'.'+price.slice(-2);// 保留两位小数
				oSpan.text( price );

				// 计算购物金额总计
				var totalPrice = $('#total').text()*100+onePrice*100+'';// 计算购物金额总计
				totalPrice = totalPrice.slice(0,-2)+'.'+totalPrice.slice(-2);// 保留两位小数
				$('#total').text(totalPrice);

				// 完成了此次ajax才允许下一次
				flag = true;

			});

		}

	});

	// 直接输入数量
	var oldValue = 0;
	var currentVal = 0;
	$('.amount').focus(function() {

		// 当获取焦点时，记录当前值
		oldValue = $(this).val();

	});

	$('.amount').change(function() {
		
		// 获取修改值
		currentVal = $(this).val();

		// 如果数量减少后小于1
		if( currentVal < 1 ) {

			alert('至少购买1件商品');
			$(this).val(oldValue);
			return false;
		}

		// 验证数据
		if( !/^\d+$/.test(currentVal) ) {

			alert('请输入合法数字！');
			$(this).val(oldValue);
			return false;
		}
		
		// 获取数据
		gid = $(this).parents('tr').attr('goods_id');
		attrList = $(this).parents('tr').attr('goods_attr_id');

		// 防止重复发送请求
		if(flag) {

			flag = false;
			changeCart(gid, attrList, currentVal, this , function(that) {

				// 计算小计价格
				var oSpan = $(that).parent('td').next('td').find('span');
				var onePrice =$(that).parent('td').prev('td').find('span').text();// 单价
				var price = (onePrice*$(that).val()*100)+'';// 小计价
				price = price.slice(0,-2)+'.'+price.slice(-2);// 保留两位小数
				var chajia = price - oSpan.text();// 改变的小计价格（可能为负值）
				oSpan.text( price );

				// 计算购物金额总计
				var totalPrice = $('#total').text()*100+chajia*100+'';// 计算购物金额总计
				totalPrice = totalPrice.slice(0,-2)+'.'+totalPrice.slice(-2);// 保留两位小数
				$('#total').text(totalPrice);

				// 完成了此次ajax才允许下一次
				flag = true;

			},function(that) {
				$(that).val(oldValue);
			});

		}
		
		
	});
	
	// 异步修改购物车数量
	function changeCart(gid, attrList, num, that, fn, err=function(){}) {

		$.get(changeCartUrl,{id:gid,attrList:attrList,amount:num},function(data) {
			console.log(data);
			if( data['status'] ){

				fn(that);

			}else{

				alert(data['msg']);
				
				err(that);

				// 完成了此次ajax才允许下一次
				flag = true;

			}

		},'json');
	}

	// 异步删除购物车
	$('.col6').find('a').click(function() {
		
		// 给出友好提示
		if( !confirm('您确定要删除吗？') ){
			return false;
		}

		// 获取数据
		gid = $(this).parents('tr').attr('goods_id');
		attrList = $(this).parents('tr').attr('goods_attr_id');
		var price = $(this).parent('td').prev('td').find('span').text();// 获取要删除的商品小计价格

		that = this;

		// 异步删除
		$.get(delCartUrl,{id:gid,attrList:attrList}, function(data) {
			
			if( data.status ) {
				$(that).parents('tr').fadeOut('slow', function() {
					$(this).remove();

					// 计算购物金额总计
					var totalPrice = $('#total').text()*100-price*100+'';// 计算购物金额总计
					totalPrice = totalPrice.slice(0,-2)+'.'+totalPrice.slice(-2);// 保留两位小数
					$('#total').text(totalPrice);
					
				});
			}

		},'json');
		



	});

})

// $(function(){
	
// 	//减少
// 	$(".reduce_num").click(function(){
// 		var amount = $(this).parent().find(".amount");
// 		if (parseInt($(amount).val()) <= 1){
// 			alert("商品数量最少为1");
// 		} else{
// 			$(amount).val(parseInt($(amount).val()) - 1);
// 			// 先获取所在的TR
// 			var tr = $(this).parent().parent();
// 			var gid = tr.attr("goods_id");
// 			var gaid = tr.attr("goods_attr_id");
// 			// 执行AJAX更新到服务器
// 			ajaxUpdateCartData(gid, gaid, $(amount).val());
// 		}
// 		//小计
// 		var subtotal = parseFloat($(this).parent().parent().find(".col3 span").text()) * parseInt($(amount).val());
// 		$(this).parent().parent().find(".col5 span").text(subtotal.toFixed(2));
// 		//总计金额
// 		var total = 0;
// 		$(".col5 span").each(function(){
// 			total += parseFloat($(this).text());
// 		});

// 		$("#total").text(total.toFixed(2));
// 	});

// 	//增加
// 	$(".add_num").click(function(){
// 		var amount = $(this).parent().find(".amount");
// 		$(amount).val(parseInt($(amount).val()) + 1);
// 			// 先获取所在的TR
// 			var tr = $(this).parent().parent();
// 			var gid = tr.attr("goods_id");
// 			var gaid = tr.attr("goods_attr_id");
// 			// 执行AJAX更新到服务器
// 			ajaxUpdateCartData(gid, gaid, $(amount).val());
// 		//小计
// 		var subtotal = parseFloat($(this).parent().parent().find(".col3 span").text()) * parseInt($(amount).val());
// 		$(this).parent().parent().find(".col5 span").text(subtotal.toFixed(2));
// 		//总计金额
// 		var total = 0;
// 		$(".col5 span").each(function(){
// 			total += parseFloat($(this).text());
// 		});

// 		$("#total").text(total.toFixed(2));
// 	});

// 	//直接输入
// 	$(".amount").blur(function(){
// 		if (parseInt($(this).val()) < 1){
// 			alert("商品数量最少为1");
// 			$(this).val(1);
// 		}
// 		//小计
// 		var subtotal = parseFloat($(this).parent().parent().find(".col3 span").text()) * parseInt($(this).val());
// 		$(this).parent().parent().find(".col5 span").text(subtotal.toFixed(2));
// 		//总计金额
// 		var total = 0;
// 		$(".col5 span").each(function(){
// 			total += parseFloat($(this).text());
// 		});

// 		$("#total").text(total.toFixed(2));

// 	});
	
// 	// delete
// 	$(".col6 a").click(function(){
// 		if(confirm("are you sure?"))
// 		{
// 			// 先获取所在的TR
// 			var tr = $(this).parent().parent();
// 			var gid = tr.attr("goods_id");
// 			var gaid = tr.attr("goods_attr_id");
// 			// 执行AJAX更新到服务器
// 			ajaxUpdateCartData(gid, gaid, 0);
// 			tr.remove();
// 			var newTp = parseFloat($("#total").html()) - parseFloat(tr.find(".col5").find("span").html());
// 			$("#total").html(newTp.toFixed(2));
// 		}
// 		return false; 
// 	});

// 	// 异步修改购物车
// 	function ajaxUpdateCartData(goodsId, goodsAttrId, goodsNumber)
// 	{
// 		var _gaid = "";
// 		if(goodsAttrId != "")
// 			_gaid = "/gaid/"+goodsAttrId;
// 		// 以GET方式请求一个地址
// 		$.get("/shop/34/index.php/Home/Cart/ajaxUpdateData/gid/"+goodsId+"/gn/"+goodsNumber+_gaid);
// 	}
// });